package com.ruoyi.system.mapper;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.system.domain.CrmCustomerInfo;
import com.ruoyi.system.domain.CrmCustomerUserInfo;
import com.ruoyi.system.domain.from.CrmCustomerInfoQuery;
import com.ruoyi.system.domain.from.CustomerDetailsExport;
import com.ruoyi.system.domain.vo.CrmCustomerExportDTO;
import com.ruoyi.system.domain.vo.CustomerDTO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 客户Mapper接口
 * 
 * @author ruoyi
 * @date 2023-05-10
 */
public interface CrmCustomerInfoMapper extends BaseMapper<CrmCustomerInfo> {


    CustomerDTO selectAnalyst(@Param("customerId")Long customerId);

    CustomerDTO selectAnalystNew(@Param("customerId")Long customerId);

    List<CrmCustomerUserInfo> selectAll(@Param("customerId")Long customerId);

    List<CrmCustomerExportDTO> selectAnalystBew(CustomerDetailsExport customerDetailsExport);

    List<CrmCustomerExportDTO> selectAnalystEligible(CustomerDetailsExport customerDetailsExport);

    List<CrmCustomerExportDTO> selectAnalystAll(CustomerDetailsExport customerDetailsExport);

    Integer SelectAnalusEligible(@Param("customerId")Long customerId);

    Integer SelectAnalusNine(@Param("customerId")Long customerId);

    IPage<CrmCustomerInfo> selectByPage(@Param("page") Page<CrmCustomerInfo> page, @Param("param") CrmCustomerInfoQuery crmCustomerInfoQuery);

}
